home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / os2bbs / mxl220.zip / TEMPLATE.DOC < prev    next >
Text File  |  1996-02-17  |  38KB  |  958 lines

  1.  ┌╦═══════════════════════════════════════════════════════════════════ ┌╦═══╦┐
  2.  │║     ┌╦   ╦┐┌╦   ╦┐┌╦═╦═╦┐┌╦═╦═╦┐┌╦     ┌╦═══╦┐       ┌╦══╦┐ ┌╦══╦┐ │║   ╩┘
  3.  └╩═══╦┐├╬═══╬┤│║   ║│   ║      ║   │║     ├╬══          │╠══╩╦┐│╠══╩╦┐└╩═══╦┐
  4.  ┌╦   ║│└╩   ╩┘└╩═══╩┘   ╩      ╩   └╩═══╩┘└╩═══╩┘       └╩═══╩┘└╩═══╩┘     ║│
  5.  └╩═══╩┘ ════════════════════  H A T T I N G E N  ══════════════════════════╩┘
  6.   ▓▒░             ───────────────────────────────────────────             ░▒▓
  7.   ▓▒░─────────────▓▒░  HOME OF MAXLIST FILELISTPROCESSOR  ░▒▓─────────────░▒▓
  8.   ▓▒░             ───────────────────────────────────────────             ░▒▓
  9.   ═══════════════════════════════════════════════════════════════════════════
  10.   ▓▒░                                                                     ░▒▓
  11.   ▓▒░     ┌──────┐ ┌──────┐ ┌─┐  ┌─┐ ┌─┐      ┌─┐ ┌──────┐ ┌───────┐      ░▒▓
  12.   ▓▒░     └──────┘ └──────┘ └─┘  └─┘ └─┘      └─┘ └──────┘ └───────┘      ░▒▓
  13.   ▓▒░     ┌─┐┌┐┌─┐ ┌──────┐   ┌──┐   ┌─┐      ┌─┐ ┌──────┐    ┌─┐         ░▒▓
  14.   ▓▒░     │ │└┘│ │ │ ┌──┐ │  ┌┘┌┐└┐  │ │      │ │ └────┐ │    │ │         ░▒▓
  15.   ▓▒░     │ │  │ │ │ │  │ │ ┌┘┌┘└┐└┐ │ └────┐ │ │ ┌────┘ │    │ │         ░▒▓
  16.   ▓▒░     └─┘  └─┘ └─┘  └─┘ └─┘  └─┘ └──────┘ └─┘ └──────┘    └─┘         ░▒▓
  17.   ▓▒░     Template controlled Filebaseprozessor for Maximus Systems       ░▒▓
  18.   ▓▒░     Version 2.20      Copyright 1994-96 by Wilfried Brinkmann       ░▒▓
  19.   ▓▒░                                                                     ░▒▓
  20.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ All rights reserved ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  21.  ═════════════════════════════════════════════════════════════════════════════
  22.  
  23.  
  24.            ───────────────────────────────────────────────────────
  25.             Documentation and Overview of MaxList Template-Tokens
  26.            ═══════════════════════════════════════════════════════
  27.  
  28.     MaxList uses templates for ALL output in file lists and FILES.BBS files.
  29.     They contain the information how to format the header and the single
  30.     lines.
  31.  
  32.  
  33.                           Common Information
  34.                          ────────────────────
  35.  
  36.     There is no limit in the length of a line for template files as well as 
  37.     for file descriptions. A template or one file description may be maximum
  38.     8 kB in total. If this value is exceeded, they will be trucated SILENTLY
  39.     to a length of 8192 characters!
  40.     The internal buffer of course is not limited to 8 kB, in order to be able
  41.     to perform reformatting.
  42.  
  43.     As it is likely that a large amount of tokens may occur on one line, the
  44.     text will soon get unreadable or unprocessable if you write all in one
  45.     line.
  46.     
  47.     Therefore it is possible to insert a continuation character in order to
  48.     have physical line feeds in a file without breaking the logical line.
  49.     This means that a logical line can extend to several lines of text.
  50.     The continuation characted is a backslash "\".
  51.     
  52.     Example:
  53.         @Format(@FileName @FileSize(#######) \
  54.         @FileDate(DD.MM.YYF) \
  55.         @Adjust("@AreaName",l,15,t) @Adjust("@FilePath",l,32,t))
  56.  
  57.     The whole block above is displayed in one line later on.
  58.     The \ character, as well as any following blank or CR/LF is removed.
  59.     At the end of the whole string ONE CR/LF is added, nevertheless how
  60.     many of them occur in the text.
  61.     
  62.     If you want to use the \ itself, you have to quote it by writing two
  63.     backslashes (\\). This will translate to one backslash in display.
  64.     "Backslash \\ in text" thus translates to "Backshlash \ in text".
  65.  
  66.     It is possible to use MECCA color tokens in the BBS header templates.
  67.     They are translated by MaxList.
  68.     The following MECCA tokens are available:
  69.     
  70.       [cls]   - clear screen
  71.  
  72.     Colors:
  73.       Foreground and Background       Foreground only
  74.       -------------------------       ---------------
  75.       [black]                         [darkgray]
  76.       [blue]                          [lightblue]
  77.       [green]                         [lightgreen]
  78.       [cyan]                          [lightcyan]
  79.       [red]                           [lightred]
  80.       [magenta]                       [lightmagenta]
  81.       [brown]                         [yellow]
  82.       [gray]                          [white]
  83.  
  84.     In order to set foreground and background color simultaneously you MUST
  85.     use the token ON, e.g. [white ON blue].
  86.  
  87.     The CLS token may be grouped together with color tokens, e.g.
  88.     [CLS red on blue]. 
  89.     If you need the bracket ([) as normal character in the text, you have to
  90.     double it ([[), e.g. [CLS WHITE][[White] [[[YELLOW]Yellow[WHITE]].
  91.  
  92.     MaxList automatically adds the MECCA token [left cr lf] at the end of
  93.     each line in the BBS header. By this sequence of characters MaxList
  94.     recognizes the header and so is able to remove it again.
  95.  
  96.     No extensive syntax check is done by MaxList. So the result may be 
  97.     unpredictable if you miswrote some tokens or made errors when setting
  98.     the brackets.
  99.  
  100.     Therefore note once again:
  101.  
  102.         SET THE DEBUG MODE OF MAXLIST FOR YOUR FIRST TRIES !!!!
  103.  
  104.     This is the only possibility to avoid changes to FILES.BBS files.
  105.     MaxList will then place it's output in a file named FILES.$$$ instead 
  106.     of changing the original FILES.BBS.
  107.  
  108.  
  109.  
  110.                               The Templates
  111.                              ───────────────
  112.  
  113.     The following section lists all templates, their function and their valid
  114.     place.
  115.  
  116.     Five types of templates are available: BBS, AREA, GROUP, REPORT and TITLE.
  117.     The types AREA, GROUP and REPORT each seperate into HEADER and FOOTER, so
  118.     that eight templates are available in total.
  119.  
  120.     The template types HEADER of BBS, AREA and GROUP each contain a statement
  121.     how the single file description lines should look like.
  122.  
  123.     This statement reads @FORMAT(@ID @ID ... @ID) and it MUST be the last
  124.     statement in this template.
  125.     If you do not want to have a header you have to write this statement
  126.     (only this statement) in either case!
  127.  
  128.     The arguments (@ID) have to consist of the single tokens for file name,
  129.     file size, date, description etc.
  130.     The possible arguments depend on the kind of template. Unresolvable 
  131.     tokens are removed. If they are written within an @ADJUST statement, an
  132.     empty string is used instead then!
  133.     
  134.  
  135.  
  136.     The BBSHEADER Template
  137.     ──────────────────────
  138.     You may specify a special header for the FILES.BBS files for each area 
  139.     or group. But take into consideration that ALL templates must permanently
  140.     remain in main memory. So things are limited under DOS. 
  141.  
  142.     At least one BBSHEADER should be specified. Otherwise MaxList will use 
  143.     an internal one which may not be altered.
  144.     The internal BBSHEADER has the following format:
  145.     
  146.         @Format(@FileName FileDesc(31, 79))
  147.  
  148.  
  149.     IMPORTANT NOTE FOR MAXIMUS 3.0 USERS!
  150.     ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 
  151.  
  152.     MaxList supports a special kind of FILES.BBS format which contains both
  153.     file size and file date in addition to the normal entries.
  154.  
  155.     This special format is defined by a 
  156.         TYPE  DATELIST
  157.     statement in the area definition block in Maximus 3.0.
  158.  
  159.     In this special case a template is needed where the @FORMAT statement
  160.     looks like this:
  161.  
  162.         @Format(@FileName \
  163.         @FileSize(#######_f)@FileDate(MM-DD-YY__)\
  164.         @FreeDwnLd@DlCounter@FileDesc(31,79))
  165.  
  166.     You may change the border size at @FILEDESC to your need. Furthermore
  167.     @FREEDWNLD and @DLCOUNTER may be left out, if you do not need them.
  168.     The most simple @FORMAT statement should then look like this:
  169.  
  170.         @Format(@FileName \
  171.         @FileSize(#######_f)@FileDate(MM-DD_YY__)@FileDesc(31,79))
  172.  
  173.     NOTE:
  174.         You may also use this @FORMAT statement for areas which are not of
  175.         TYPE DATELIST. In this case MaxList will NOT print any file size or
  176.         date in the FILES.BBS files. This way it is possible to have ONE
  177.         template for ALL areas! This template is located in the archive as
  178.         BBSHDR3.TPL.
  179.  
  180.  
  181.     The LISTTITLE Template
  182.     ──────────────────────
  183.     Optional you may use a title template. So it is possible to insert e.g.
  184.     the list type immediately after your logo (ListHeaderFile) into the list.
  185.     I use a graphical font for this title which places the listname centered.
  186.     Furthermore the date, time and day as well as the new files flags are 
  187.     inserted here if the corresponding tokens are given. For an example see
  188.     the file TITLE.TPL
  189.  
  190.  
  191.     The AREA Templates (AreaHeader / AreaFooter)
  192.     ────────────────────────────────────────────
  193.     You may specify two templates for each area: AreaHeader and AreaFooter.
  194.     The footer is optional. A @FORMAT statement MUST be present in the
  195.     header.
  196.  
  197.     The header is printed at the beginning of each area. It is followed by
  198.     the single file description entries. At the end of each area a footer
  199.     may be printed OPTIONALLY.
  200.  
  201.     When the DUPE list is generated, the AreaHeader and the @FORMAT statements
  202.     contained herein are used to list the dupe files. For an example see the
  203.     template file DUPEHDR.TPL.
  204.  
  205.  
  206.     The GROUP Templates (GroupHeader / GroupFooter)
  207.     ───────────────────────────────────────────────
  208.     These two templates are required by the report part of a list.
  209.     The GroupHeader must contain a @FORMAT statement, the GroupFooter is
  210.     optional.
  211.  
  212.     The GroupHeader is printed before any area of this group, followed by
  213.     all area entries for that group.
  214.  
  215.  
  216.     The REPORT Templates (ReportHeader / ReportFooter)
  217.     ──────────────────────────────────────────────────
  218.     
  219.     These two templates are optional.
  220.     ReportHeader is written to the beginning of the statistics of a list,
  221.     ReportFooter at the end, immediately before my copyright notice.
  222.     In the report templates no @FORMAT statement is required.
  223.  
  224.  
  225.  
  226.     Schematic Structure of a File List
  227.     ──────────────────────────────────
  228.  
  229.         ┌───────────────────────────────────┐
  230.         │ FileListHeader (Optional)         │
  231.         │ ...                               │   
  232.         ├───────────────────────────────────┤
  233.         │ ListTitle      (Optional)         │
  234.         │ Date, time, name, flags           │
  235.         ╞═══════════════════════════════════╡ ──┐ 
  236.         │ AreaHeader with @Format statement │   │
  237.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  238.         │ File  Description                 │   │
  239.         │   ...                             │   │
  240.         │ File  Description                 │   ├── Omitted at report lists.
  241.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Dupe lists will contain
  242.         │ AreaFooter     (Optional)         │   │   only one AreaHeader.
  243.         ├───────────────────────────────────┤   │
  244.         │ ... additional Areas              │   │
  245.         ╞═══════════════════════════════════╡ ══╡  
  246.         │ ReportHeader   (Optional)         │   │
  247.         ├───────────────────────────────────┤   │
  248.         │ GroupHeader with @Format statement│   │
  249.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  250.         │ Areas of this Group               │   │
  251.         │   ...                             │   ├── Only when AllAreaReport
  252.         │ Areas of this Group               │   │   set to YES.
  253.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Always at report lists.
  254.         │ GroupFooter    (Optional)         │   │
  255.         ├───────────────────────────────────┤   │
  256.         │ ... additional Groups             │   │
  257.         ├───────────────────────────────────┤   │
  258.         │ ReportFooter   (Optional)         │   │
  259.         ╞═══════════════════════════════════╡ ──┘
  260.         │ FileListFooter (Optional)         │
  261.         │ ...                               │   
  262.         ├───────────────────────────────────┤
  263.         │        Copyright Logo             │
  264.         └───────────────────────────────────┘
  265.  
  266.  
  267.  
  268.     Example of a new files list with title, AreaHeader, GroupHeader and
  269.     ───────────────────────────────────────────────────────────────────
  270.     ReportHeader:
  271.     ─────────────
  272.  
  273.  
  274.                  █▄  █ █▀▀▀▀ █   █ █▀▀▀▀ ▀█▀ █     █▀▀▀▀ ▄▀▀▀▀                 
  275.         ▀▀▀▀▀    █ ▀▄█ █▀▀▀  █▄▀▄█ █▀▀▀   █  █     █▀▀▀   ▀▀▀▄    ▀▀▀▀▀        
  276.                  ▀   ▀ ▀▀▀▀▀ ▀   ▀ ▀     ▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀                  
  277.      This list was created at 22:50 on Monday, 05.Feb 96 by MAXLIST+ v2.20
  278.  
  279.                       All files are less than 30 days old.                     
  280.  
  281. ═══════════════════════════════════════════════════════════════════════════════
  282.  ▄▀▀▀▄ ║ Local Echo
  283.   ▄▀▀  ║ Available: 3 files (236.918 Bytes)
  284.  ▀▀▀▀▀ ║ Newest: FRO_PWAD.ZIP  (03.09.1995, 79084 Bytes)
  285. ───────────────────────────────────────────────────────────────────────────────
  286. Filename        Size    Date   Description
  287. ──────────── ─────── ───────── ────────────────────────────────────────────────
  288. CTFILES.ZIP    24944 01.09.95  Alle neuen C't Files
  289. FRO_PWAD.ZIP   79084 03.09.95  Frodo PWAD for DOOM2 and Heretic
  290.                                DOOM2 level 1, 2, and 3
  291.                                Heretic e1m1, m2, and m3
  292. GERFAQ4A.ZIP  132890 29.08.95  FAQ zu OS/2 Warp 3, deutschsprachige
  293.                                Ausgabe 3a v. 03.03.95, TXT und INF.
  294.  
  295. ╒═════════╤═════════════════════════════════════════════════════════╤═════════╕
  296. │░▒▓███▓▒░│                     NEWFILES SUMMARY                    │░▒▓███▓▒░│
  297. │░▒▓███▓▒░├─────────────────────────────────────────────────────────┤░▒▓███▓▒░│
  298. │░▒▓███▓▒░│        72 files (5.553 Kb) in 24 Areas (6 Groups)       │░▒▓███▓▒░│
  299. ╘═════════╧═════════════════════════════════════════════════════════╧═════════╛
  300.  
  301. Group: GFD.APP - Gfd-Net Applicationen                                         
  302. Available: 9 files (694 Kb) in 3 areas                                         
  303. ═══════════════════════════════════════════════════════════════════════════════
  304. Area              Description                                  Files      Bytes
  305. ───────────────── ─────────────────────────────────────────── ────── ──────────
  306. GFD.APP.ARC       Archiver                                         3       231K
  307. GFD.APP.BACK      Backup Tools                                     3       231K
  308. GFD.APP.EDIT      Editoren                                         3       231K
  309.  
  310. Group: GFD.FNT - Gfd-Net Mailbox Programm                                      
  311. Available: 18 files (1.388 Kb) in 6 areas                                      
  312. ═══════════════════════════════════════════════════════════════════════════════
  313. Area              Description                                  Files      Bytes
  314. ───────────────── ─────────────────────────────────────────── ────── ──────────
  315. GFD.FNT.BBS       BBS Programme                                    3       231K
  316. GFD.FNT.DOOR      Door Programme                                   3       231K
  317. GFD.FNT.MISC      Diverse Tools                                    3       231K
  318. GFD.FNT.PNT       Pointprogramme                                   3       231K
  319. GFD.FNT.TOSS      Tosser                                           3       231K
  320.  
  321. Available: 3 files (231 Kb) in 1 area                                     
  322. ═══════════════════════════════════════════════════════════════════════════════
  323. Area              Description                                  Files      Bytes
  324. ───────────────── ─────────────────────────────────────────── ────── ──────────
  325. 2                 Lokales Echo                                     3       231K
  326.  
  327.    ╒═══════════════════════════════════════════════════════════════════════╕
  328.    │         This list was produced by MAXLIST+ (Version 2.20∙OS2)         │
  329.    │   Copyright 1994/95 by Wilfried Brinkmann, 45529 Hattingen, Germany   │
  330.    ╘═══════════════════════════════════════════════════════════════════════╛
  331.                        Registered to: Wilfried Brinkmann                       
  332.  
  333.  
  334.  
  335.                         The Template Tokens
  336.                        ─────────────────────
  337.  
  338.     The following section describes all tokens available in the templates.
  339.     For each token the valid template types or valid sections in an 
  340.     template are explained.
  341.  
  342.     Sometimes the same tokens will have a different result. This occurs
  343.     especially at sums (e.g. @FILES token).
  344.  
  345.     EVERY token starts with a "@" (the german word for this character is 
  346.     Klammeraffe, which would translate to "bracket monkey" in english, 
  347.     but this surely is not the right translation. Sorry, the translator ;)
  348.     If a token has parameters, these have to be put in paranthesis "( )".
  349.     The single parameters within the paranthesis are seperated by a comma ",".
  350.     
  351.     There is no difference in upper/lower case writing. The tokens may be
  352.     stacked into each other as you like, i.e. further tokens may be used as
  353.     parameters of one token.
  354.  
  355.         Example:  @Adjust(@Adjust(@Adjust("Test1",l,5),l,10),r,20)
  356.  
  357.     Optional parameters are diplayed in [brackets]. The brackets themselves
  358.     of course have NOT be given in a template.
  359.     When several parameters are allowed but not all of them are needed, the
  360.     unused part may be omitted. Nevertheless you have to give the commas then.
  361.  
  362.         Example:  @FileDesc(31,79,,TF)
  363.  
  364.  
  365.  
  366.     @FORMAT
  367.     ───────
  368.     Syntax: @Format(@ID @ID .... @ID)
  369.  
  370.     This statement is used, as mentioned above, for the format of one single
  371.     file description in a FILES.BBS or list. 
  372.  
  373.     It MUST be present in the following templates: 
  374.  
  375.         BBSHeader       - For Files.bbs
  376.         AreaHeader      - For file lists
  377.         GroupHeader     - For report lists
  378.  
  379.     In all other templates this statement is superfluous. When MaxList finds
  380.     it never the less, it will be ignored.
  381.  
  382.     Example of a @FORMAT statement:
  383.         @Format(@FileName @FreeDwnLd@DlCounter@Filedesc(31,79))
  384.  
  385.     After processing the resulting FILES.BBS will look like this:
  386.  
  387.     NWFAQ503.ARJ /bt [00] Novell FAQ Version 03/95  ASCII-Version
  388.                                    deutschsprachige FAQ ueber alles, was
  389.                                    mit Novell zu tun hat.
  390.                                    inkl. aktueller File- und Mailboxliste
  391.  
  392.  
  393.     @LISTTYP
  394.     ────────
  395.     Syntax:     @ListTyp
  396.     Templates:  All except BBS and @FORMAT statement
  397.  
  398.     This token prints the list type.
  399.     Available list types:
  400.         ALL        [Name]   - [Name] or ALLFILES
  401.         NEW <days> [Name]   - [Name] or NEWFILES
  402.         PART       [Name]   - [Name] (when given)
  403.         REPORT     [Name]   - [Name] or REPORT
  404.         DUPE       [Name]   - [Name] or DUPES
  405.         ORHAN      [Name]   - [Name] or ORPHAN
  406.         ANNOUNCE   [Name]   - [Name] or ANNOUNCE
  407.  
  408.     !!! IMPORTANT NOTE:
  409.         When @ListTyp is used within @TEST, not the Name of the list,
  410.         but the name of the type will be used for comparision.
  411.  
  412.         @Test(@ListTyp,=,All, ...) is TRUE, if the list is of type ALL.
  413.  
  414.  
  415.     @TEST
  416.     ─────
  417.     Syntax:     @Test(@ID1, <|=|>|<>|[], @ID2, @IDTrue, @IDFalse)
  418.     Templates:  All 
  419.  
  420.     For testing of parameters. @ID1 is compared to @ID2.
  421.     Valid operators are:
  422.       <     - less than
  423.       =     - equal to
  424.       >     - greater than
  425.       <>    - not equal
  426.       []    - in range
  427.  
  428.     Dependent on the result @IDTrue or @IDFalse is processed.
  429.  
  430.     Examples:  @Test(@Groups,>,1,(@Groups Groups),"")
  431.                The sum of groups is only printed when it is greater than 1.
  432.  
  433.                @Test(@AreaTag,[],12..99,"Top Secret",@AreaTag)
  434.                If the Areatag in 12 to 99, than "Top Secret" is printig,
  435.                otherwise the Areatag is written.
  436.  
  437.  
  438.     @FILEPATH
  439.     ─────────
  440.     Syntax:     @FilePath
  441.     Templates:  All except TitleTemplate and BBS
  442.  
  443.     Drive and Path(s) as given in DownLoad, e.g. D:\LISTS\SHUTTLE\.
  444.     If the FILES.BBS contains a path name in the file name, this value is
  445.     taken.
  446.  
  447.  
  448.     @FILENAME
  449.     ─────────
  450.     Syntax:     @FileName
  451.     Templates:  In all @FORMAT statements
  452.  
  453.     Prints the Name of a file leftbound with a length of 12 characters.
  454.     When the name is shorter than 12 characters it is filled with blanks,
  455.     e.g.: "ABC.ZIP_____"
  456.  
  457.     Any path in the FILES.BBS is NOT printed in the lists, but remains in
  458.     the FILES.BBS.
  459.  
  460.  
  461.     @FILEDATE
  462.     ─────────
  463.     Syntax:     @FileDate(DateFormat)
  464.     Templates:  In all @FORMAT statements
  465.  
  466.     You may format the date as you like. The parameter DateFormat may NOT be
  467.     omitted. The following placeholders may be specified:
  468.  
  469.         D   - Day     01 .. 31
  470.         M   - Month   01 .. 12, or name of month (Jan, Feb etc)
  471.         Y   - Year
  472.         F   - Flag for new file
  473.               If a file is older than specified for any flag, a blank will
  474.               be printed.
  475.         _   - Underscore, replaced by one blank
  476.  
  477.     Examples:
  478.  
  479.         DateFormat:       Result:
  480.         -----------       ---------
  481.         DD.MM.YY        - 20.09.95
  482.         MM.YYYY         - 09.1995
  483.         DD-MM-YYF       - 20-09-95+
  484.         D.M.YF          - 20.09.95+
  485.         DD.MMM_YYYY     - 20.Sep 1995
  486.         D.M.YYY         - 20.09.1995
  487.         DD-MM-YYF_      - 20-09-95+_  (_ is a Blank)
  488.  
  489.  
  490.     @FILESIZE
  491.     ─────────
  492.     Syntax:     @FileSize(SizeFormat)
  493.     Templates:  In all @FORMAT statements
  494.  
  495.     Size of a file. The number may be formatted and converted to other size
  496.     units (Kb Mb etc.) as you like. Internally it is counted in bytes and
  497.     may be converted to kilobytes (div 1024) and megabytes (div 1048576).
  498.  
  499.     NOTE:
  500.         NO conversion is allowed in the BBS templates for TYPE DATELIST.
  501.         The format for this template MUST look like this:
  502.         @FileSize(#######_F)
  503.  
  504.     Formatting character:
  505.         #   - replaced by a number
  506.         K   - conversion to kilobytes
  507.         M   - conversion to megabytes
  508.         F   - fill with blanks
  509.         _   - Underscore, replaced by one blank
  510.  
  511.         ATTENTION: The chars K, M, F NEED to be placed at the end!
  512.  
  513.     Examples:
  514.  
  515.         SizeFormat:                         Result:
  516.         ----------------------------        ----------
  517.         None (Empty paranthesis)            123456789
  518.         One or more #                       123456789
  519.         #.###.###                           12.346.789
  520.         K (conversion kilobytes)            120563
  521.         #.###.###K                          120.563
  522.         M (conversion megabytes)            117
  523.         #.###.###M                          117
  524.         #.###F                              123456.789
  525.         #######MF                           ____117  (_ represents one blank)
  526.         #.###_M                             117_     (_ represents one blank)
  527.  
  528.  
  529.     @FREEDWNLD
  530.     ──────────
  531.     Syntax:     @FreeDwnLd
  532.     Templates:  Only in @FORMAT statement in BBS templates
  533.  
  534.     Prints the corresponding string (when defined in the configuration file
  535.     at FreeDownLoad) and an additional blank. When FreeDownLoad is not
  536.     valid for this area or group, then nothing is printed.
  537.     Possible results are "/b ", "/t " or "/tb ".
  538.  
  539.  
  540.     @DLCOUNTER
  541.     ──────────
  542.     Syntax:     @DLCounter
  543.     Templates:  Only in @FORMAT statement in BBS and AREA templates
  544.  
  545.     When a download counter (DLCounter) is specified in the configuration,
  546.     it will be printed when none is already present in the FILES.BBS.
  547.     If a download counter is already present in the FILES.BBS it will be used
  548.     and remains unchanged.
  549.  
  550.     When a DLCounter is specified in the configuration, but this token is
  551.     NOT used in the BBS or AREA template, any existing download counter 
  552.     where the brackets match those of DLCounter is removed without grace!
  553.  
  554.     If no DLCounter is specified in the configuration, this token will be
  555.     ignored. 
  556.     
  557.     NOTE: An additional blank is added, when a download counter is printed!
  558.  
  559.  
  560.     @AREANAME
  561.     ─────────
  562.     Syntax:     @AreaName
  563.     Templates:  All except TitleTemplate
  564.  
  565.     Prints the WHOLE name of an area, including FileDivisions.
  566.     If an area EDIT is located in group GFD.APP, the result will be
  567.     "GFD.APP.EDIT".
  568.  
  569.  
  570.     @AREATAG
  571.     ────────
  572.     Syntax:     @AreaTag
  573.     Templates:  All except TitleTemplate
  574.  
  575.     Prints the name of an area without FileDivisions. For area EDIT the
  576.     result is "EDIT".
  577.  
  578.  
  579.     @GROUPTAG
  580.     ─────────
  581.     Syntax:     @GroupTag
  582.     Templates:  All except TitleTemplate
  583.  
  584.     Prints the name of the group, e.g. "GFD.APP".
  585.     The area name is not printed.
  586.  
  587.  
  588.     @AREADESC / @GROUPDESC
  589.     ──────────────────────
  590.     Syntax:     @AreaDesc / @GroupDesc
  591.     Templates:  All except TitleTemplate
  592.  
  593.     Prints the description for an area or a group. The length of
  594.     this description is limited internally to 50 characters.
  595.  
  596.  
  597.     @AREAACS / @GROUPACS
  598.     ────────────────────
  599.     Syntax:     @AreaAcs / @GroupAcs
  600.     Templates:  All except TitleTemplate
  601.  
  602.     Prints AccessLevel and Keys of an area or group.
  603.     If you defined a translation in the configuration (USERLEVEL) the
  604.     string defined there is printed. Otherwise the level/keys are printed
  605.     as defined at the corresponding area or group.
  606.     The length of the access string is limited internally to 50 characters.
  607.     
  608.  
  609.     @OFFLINE
  610.     ────────
  611.     Syntax:     @OffLine
  612.     Templates:  Only in @FORMAT statement of AREA templates
  613.  
  614.     All "normal" file list processors print an offline string instead of
  615.     file size and date if the file is not present in the file base.
  616.  
  617.     As MaxList allows the parameters to be put on any place, another method
  618.     is neccessary for inserting the offline string defined in the 
  619.     configuration.
  620.  
  621.     If an offline string should be printed, you have to define it by using
  622.     the @Test token. Example:
  623.  
  624.         @Format(@FileName \
  625.         @Test(@FileSize(),>,0,\
  626.         @FileSize(#######F) @FileDate(DD.MM.YYF),\
  627.         @Adjust("@OffLine",l,17)) @Filedesc(31,79))
  628.  
  629.     MaxList sets the file size to 0 when a file is not accessible. This means
  630.     that a 0 byte file is regarded as not present either!
  631.     The above code tests the file size to be greater than 0, if that is true,
  632.     @FileSize(#######F) @FileDate(DD.MM.YYF) is printed after the file name.
  633.     When the file size is 0, @Adjust("@OffLine",l,17) is used instead.
  634.  
  635.  
  636.     @NEWFNAME
  637.     ─────────
  638.     Syntax:     @NewFName
  639.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  640.  
  641.     Name of the NEWEST file in this area.
  642.     The name is not formatted in any way. It will be printed as found in
  643.     the FILES.BBS file.
  644.  
  645.  
  646.     @NEWFDATE
  647.     ─────────
  648.     Syntax:     @NewFDate(DateFormat)
  649.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  650.  
  651.     Date of the NEWEST file in this area.
  652.     The format of parameter DateFormat is the same as described at @FILEDATE.
  653.  
  654.  
  655.     @NEWFSIZE
  656.     ─────────
  657.     Syntax:     @NewFSize(SizeFormat)
  658.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  659.  
  660.     Size of the NEWEST file in this area.
  661.     The format of parameter SizeFormat is the same as described at @FILESIZE.
  662.  
  663.  
  664.     @FILES
  665.     ──────
  666.     Syntax:     @Files
  667.     Templates:  All except in @FORMAT statement
  668.  
  669.     Prints the unformatted sum of files. It depends on the template: 
  670.  
  671.         AREA / BBS  -   sum of all files in this area
  672.         GROUP       -   sum of all files in this group
  673.         REPORT      -   sum of all files in this list
  674.  
  675.  
  676.     @BYTES
  677.     ──────
  678.     Syntax:     @Bytes(SizeFormat)
  679.     Templates:  All except in @FORMAT statement
  680.  
  681.     Returns the sum of bytes.
  682.     The format of parameter SizeFormat is the same as described at @FILESIZE.
  683.     The output depends on the template:
  684.  
  685.         AREA / BBS  -   sum of the bytes of all files in this area
  686.         GROUP       -   sum of the bytes of all files in this group
  687.         REPORT      -   sum of the bytes of all files in this list
  688.  
  689.  
  690.     @AREAS
  691.     ──────
  692.     Syntax:     @Areas
  693.     Templates:  Only in GROUP and REPORT
  694.  
  695.     Returns the sum of areas. The output depends on the template:
  696.  
  697.         GROUP       -   sum of all areas in this group
  698.         REPORT      -   sum of all areas in this list
  699.  
  700.  
  701.     @GROUPS
  702.     ───────
  703.     Syntax:     @Groups
  704.     Templates:  Only in REPORT
  705.  
  706.     Returns the sum of all groups in the list.
  707.     If you do not use FileDivisions, the sum of groups is 1.
  708.     (MainGroup = group without FileDivisions).
  709.     This group has neither a tag, ACS or description!
  710.  
  711.  
  712.     @PROGNAME
  713.     ─────────
  714.     Syntax:     @PrgName
  715.     Templates:  Only in title templates
  716.  
  717.     Hmm. What could this one be? This token is replaced by the string
  718.     'MAXLIST+ v#.##'. I hope you will ALWAYS use this token ;-)
  719.     The '+' sign occurs only at registered versions of MaxList, v#.## 
  720.     represents the version number of MaxList.
  721.  
  722.  
  723.     @DATE
  724.     ─────
  725.     Syntax:     @Date(DateFormat)
  726.     Templates:  Only in title templates
  727.  
  728.     Returns the actual date.
  729.     The format of parameter DateFormat is the same as described at @FILEDATE.
  730.  
  731.  
  732.     @TIME
  733.     ─────
  734.     Syntax:     @Time(TimeFormat)
  735.     Templates:  Only in title templates
  736.  
  737.     Returns the actual time.
  738.     Parameter TimeFormat is a formatting string (analog to @FILEDATE) 
  739.     that may consist of the following characters:
  740.  
  741.         H   - hour     00 .. 23
  742.         M   - minute   00 .. 59
  743.         S   - second   00 .. 59
  744.         _   - underscore, is replaced by a blank
  745.  
  746.     Examples:
  747.  
  748.         HH:MM:SS        - 22.17.05
  749.         H:M             - 22:17
  750.         HH:MM.SS_       - 22:17.05_  (_ is one blank)
  751.  
  752.  
  753.     @DAY
  754.     ────
  755.     Syntax:     @Day
  756.     Templates:  Only in title templates
  757.  
  758.     Returns the name of the day as defined in the configuration of MaxList.
  759.     If no translation is defined in the configuration the english names for
  760.     the days are used.
  761.  
  762.  
  763.     @NEWFDAYS
  764.     ─────────
  765.     Syntax:     @NewFDays
  766.     Templates:  Only in title templates
  767.  
  768.     This token is replaced by <days> in the new files lists.
  769.     Examples for its usage may be found in the template TITLE.TPL
  770.  
  771.  
  772.     @FLAGS
  773.     ──────
  774.     Syntax:     @Flags(FlagFormat)
  775.     Templates:  Only in title templates
  776.  
  777.     @Flags prints ALL new file flags as defined at FLAGCHAR in the 
  778.     configuration. They are each seperated by a comma.
  779.     
  780.     The parameter FlagFormat defines how to format the data:
  781.  
  782.         $   - print the flag character
  783.         #   - print the number of days
  784.         _   - print one blank
  785.     
  786.     Example:
  787.       If you have specified 
  788.             
  789.             FlagChar            7,!  14,*  30,+
  790.  
  791.       in the configuration of MaxList
  792.       and in the template 
  793.             
  794.             @Flags($_=_#_days)
  795.  
  796.       then MaxList will print the following:
  797.       
  798.             ! = 7 days, * = 14 days, + = 30 days.
  799.  
  800.  
  801.     @FONTSTR
  802.     ─────────
  803.     Syntax:     @FontStr(FontName, @ID), @FontStr(FontName)
  804.     Templates:  All except in @FORMAT statement
  805.  
  806.     Prints any desired text in a graphical font.
  807.     Parameters: FontName - name of the font as defined in the font (use
  808.                            FNTMAKE(p).EXE to create your own ones or alter
  809.                            the name of a font)
  810.                 @ID      - the text to be printed.
  811.     Previously you must have loaded a font in the configuration file
  812.     (statement LoadFont). 
  813.     When NO font is loaded, NOTHING will be printed!
  814.  
  815.     There are some special things to respect:
  816.  
  817.         One character in a graphical font has several lines, which must
  818.         exactly at the same position in consecutive lines.
  819.         As every output may be formatted using @ADJUST, you have to specify
  820.         one @FONTSTR token for EVERY line of the font!
  821.  
  822.         If you use a font having 3 lines in height, a @FONTSTR token has to
  823.         be placed at each column and row position. 
  824.         FontName has to be given for EVERY occurance of @FontStr, while
  825.         parameter @ID is only valid for the FIRST occurance!
  826.  
  827.         Example:
  828.             @Adjust("@FontStr(Digi3x5, -'@ListTyp'-)",c,79)@CrLf\
  829.             @Adjust("@FontStr(Digi3x5)",c,79)@CrLf\
  830.             @Adjust("@FontStr(Digi3x5)",c,79)
  831.  
  832.  
  833.     You may create your own fonts using a utility that comes with MaxList.
  834.     Five fonts are added to the MaxList archive (FONTS.ZIP).
  835.  
  836.  
  837.     @CRLF
  838.     ─────
  839.     Syntax:     @CrLf
  840.     Templates:  All
  841.  
  842.     Use this to add additional line feeds in a template.
  843.  
  844.  
  845.     @ADJUST
  846.     ───────
  847.     Syntax:     @Adjust("@ID", L|C|R, Len [, T]);
  848.     Templates:  All
  849.  
  850.     Formats a string left bound, centered or right bound and fills or cuts
  851.     to a given length.
  852.     @ID may contain any token except @FILEDESC.
  853.     @ID MUST always be enclosed in quotation marks. 
  854.  
  855.     Example:       
  856.         @Adjust("  This is a test",L,20)  will print |  This is a test  |
  857.         (the | is not printed, of course)
  858.  
  859.     Text may be adjusted left-bound ("L"), centered ("C") or right-bound 
  860.     ("R"). The string is padded with blanks to become "Len" in length (of
  861.     course only when the string is shorter than "Len").
  862.  
  863.     If the optional parameter "T" (for truncate) is given, the string will 
  864.     be truncated to the length "Len" in any case.
  865.  
  866.  
  867.     @FILEDESC
  868.     ─────────
  869.     Syntax:     @FileDesc(Left, Right [,Lines [, T|TF [, PreLine]]])
  870.     Templates:  Only in @FORMAT statement
  871.  
  872.     Formats and prints the description for a single file.
  873.  
  874.     Parameters:
  875.         Left        - left border of the continued description (i.e. line 2 
  876.                       and above). Any value in the range of 1 to 65535 is
  877.                       valid, but it must be less than the right border.
  878.  
  879.         Right       - right border of the description.
  880.                       Any value in the range of 1 to 65535 is valid, but it
  881.                       must be greater than the left border.
  882.  
  883.         Lines       - Optional. If given, the number of lines for one 
  884.                       description is limited to "Lines" lines.
  885.                       Valuable for pages and pages of FILE_ID.DIZ.
  886.                       If the value is set to 0, the number of lines is
  887.                       unlimited (default).
  888.                       Otherwise any value in the range of 1 to 65535 is valid.
  889.  
  890.         T or TF     - Optional. T means Truncate, TF means TruncateFirst.
  891.                       Normally the description is completely new maked up
  892.                       when not fitting in the borders (left - right).
  893.                       When "T"runcate is specified, no make up is performed
  894.                       but the too long lines are truncated at the right border.
  895.  
  896.                       "TF" is a important feature for people using a download 
  897.                       counter ;-) 
  898.                       When "TF" is specified, MaxList will only truncate the
  899.                       FIRST line when it exceeds the right border. If MaxList
  900.                       then recognizes in further processing that the desc needs
  901.                       to be maked up again, the truncated part is re-inserted
  902.                       again before the rest of the text is formatted.
  903.  
  904.         PreLine     - Optional. With this, you can create a list as a
  905.                       Table. The string in PreLine is placed at the begin of
  906.                       each line, was normaly holds (number of left) blanks.
  907.                       Alternate you can use PreLine, to add a "+" before
  908.                       each continous line. PreLine itself can contains a @ID
  909.                       (i.e. @Adjust).
  910.  
  911.                       Example:
  912.                         @FileDesc(31,79,,,@Adjust("+ ",r,31))
  913.  
  914.                       The product of this is following:
  915.                         TEST.ZIP         12K 01.01.80  Eine Testdatei
  916.                                                      + mit Erweiterter                                
  917.                                                      + Beschreibung und
  918.                                                      + einem Pluszeichen
  919.  
  920.                       Other (complexe) Example:
  921.                         @Format(@FileName│@FileSize(#######)│\
  922.                                 @FileDate(dd.mm.yyf)│\
  923.                                 @FileDesc(31,79,,,@Adjust("│",l,13)\
  924.                                 @Adjust("│",l,8)@Adjust("│",l,10)))
  925.  
  926.                       This will printout following:
  927.                         TEST1.ZIP   │  12351│01.01.80 │Eine Testdatei
  928.                                     │       │         │in Tabellenform
  929.                                     │       │         │mit Linien.
  930.                         ANYFILE.ARJ │  12351│01.01.80 │Noch eine Datei
  931.                                     │       │         │in Tabellenform
  932.  
  933.  
  934. ═══════════════════════════════════════════════════════════════════════════════
  935.  
  936.                             A Last Note
  937.                             ═══════════
  938.  
  939.     Study the example templates included with MaxList. You find them in
  940.     archive TEMPLATE.ZIP.
  941.     Please unpack them to a particular subdirectory and use a "Define" 
  942.     in the MaxList configuration to specify the path.
  943.     
  944.     Above is also valid for the font files and the FontMaker utility.
  945.     All fonts and the FNTMAKE(p).EXE program are located in the
  946.     archive FONTS.ZIP.    
  947.  
  948.     If you have designed a new font or created a nice template file please
  949.     don't hesitate to send it to me. So other MaxList users will profit
  950.     from your work.
  951.  
  952.  
  953.     The author, Wilfried Brinkmann
  954.  
  955. ────────────────────────────────────────────────────────────────────────────
  956. Template.Doc for MaxList 2.20                            Date: February 1996
  957.  
  958.